The present invention relates generally to computerized control of a servomechanism and more particularly to computerized control of a servomechanism where an operational response to feedback from the servomechanism is derived by software executing in a general purpose computer system.
The increase in personal computer (PC) technology has offered manufacturers of factory automation and motion control applications an attractive substitute for custom control systems. However, early products used the PC merely as a human-machine interface, leaving the majority of the substantive tasks for controlling a device to dedicated hardware controllers. In more recent years, the PC-based systems used in such applications as controlling robots and or other servomechanisms have incorporated more real-time control into the PC itself. However tasks such as commutation and current loop control have been implemented on costly hardware platforms commonly known as servo amplifiers. Commutation and current loop control typically requires a fast computational capability that must be accomplished in real time; a task conventionally performed by Digital Signal Processing hardware. These hardware platforms are designed with a fixed set of control parameters, which are unlikely to be optimal under diverse operating conditions for control of different servomechanisms.
Furthermore, because a dedicated amplifier performs commutation, a different amplifier must be used for different motor types, including even those from the same or a different manufacturer.
It would thus be desirable and an advance in the state of the art to implement a control system for a servomechanism that allows for the real time calculation of commutation and current loop control parameters by a PC.
Furthermore, it would be desirable to provide a control system, implemented on a PC that is easily modified to adapt the control system to different servomechanisms.
The present invention advantageously provides for a computerized numerical control (CNC) system for controlling a servomechanism. With a unique software implementation of the control algorithm that is assisted by a hardware I/O control, real time computations needed for direct motion control can now be performed by a low cost PC. The present invention addresses the need to substitute a software implementation of certain servo functionality including commutation and current loop control that is conventionally implemented by dedicated hardware. The same PC used in a conventional PC-based system now takes on the new role of direct motion control, the principal function of a costly servo amplifier.
As a consequence, the cost of the system is substantially reduced since the requirement for customized hardware is reduced. The substitution of hardware by software also allows a high degree of flexibility, added system reliability, and new functionality that would otherwise be unattainable by a strictly hardware implementation.
In response to feedback derived from the operation of the servomechanism, a general-purpose computer system generates through software in real time, an input to the servomechanism to maintain the desired operation of the servomechanism. The general purpose computer system utilizes an operating system to control the execution of application tasks on the computer system, and the software controlling the operation of the servomechanism is intended to execute concurrently with these application tasks.
In one aspect of the invention, a PID control algorithm is implemented in software to generate an input to the servomechanism in response to feedback from the servomechanism. The PID algorithm includes gain coefficients associated with the respective proportional, integrating and differentiation factors of the algorithm. The gain coefficients are dynamically alterable on the computer system.
In a further aspect of the invention, a local controller is provided that interfaces to a communications bus for communicating with the software executing in the computer system.
In a yet further aspect of the invention, the local controller includes a Field programmable Gate Array (FPGA) for executing custom logic circuits to facilitate communication by generating an interrupt to invoke software for controlling the servomechanism.
In a still further aspect of the invention, the software for controlling the servomechanism includes a device driver for servicing interrupts generated by the local controller. The device drives a PID controller to provide a response to feedback obtained from the servomechanism.
The local controller advantageously includes a communication port for receiving feedback from the servomechanism and transmitting a response to the feedback. The communication port preferably interfaces to one or more fiber optic cables.
The computerized numerical control system of the present invention includes a remote controller that communicates with the local controller for interfacing to a Digital Power Stage to drive the operation of the servomechanism. The remote controller receives feedback from the operation of the servomechanism through the Digital Power Stage and communicates that feedback to the local controller. The remote controller includes a communication port to interface to a fiber optic cable for effecting the communication with the local controller.
In one aspect of the invention, the remote controller includes a Field Programmable Gate Array (FPGA) for executing customized logic to adapt the remote controller to the particular servomechanism that is controlled. The remote controller is loaded with the customized logic from the general-purpose computer system via the local controller and the fiber optic cable. The remote controller includes a generator to generate a Pulse Width Modulated (PWM) signal to provide an input to the Digital Power
In one aspect of the invention, the servomechanism controlled by the computerized numerical controlled system is embodied as a synchronous AC motor.